Computing systems range from general-purpose computing systems to embedded systems for implementing a specific function. Example devices within computing systems include input/output peripherals. Usually, computing systems execute device drivers to control the operation of these devices.
A generic device driver may be able to control many types of devices. Usually, a generic device driver accesses a data structure to access and track the state of each device controlled by the generic device driver. The overhead of these accesses to the data structure gives the generic device driver the flexibility to control many types of devices.
Embedded systems usually include device drivers customized to the actual devices included in the embedded system. However, customized device drivers make modifying the embedded system difficult and time consuming.
The present invention may address one or more of the above issues.